#ifndef BINARYOPERATIONRESULTINDEXSTREAMWRITTERBOX_H_JM_20130221
#define BINARYOPERATIONRESULTINDEXSTREAMWRITTERBOX_H_JM_20130221


// ## jm4bbx
#include "StreamWriterBox.h"
#include "../../common_bbx/tables/BoxDataTable.h"

// ## c++
#include <ostream>

namespace jm4bbx {

	class BinaryOperationResultIndexStreamWritterBox : public StreamWriterBox {
	public:
		static const char* OUTPUT_FORM_PARAM_NAME;
		static const char* FORM_PRINT_FIRST;
		static const char* FORM_PRINT_SECOND;
		static const char* FORM_PRINT_BOTH;

		BinaryOperationResultIndexStreamWritterBox(const BoxParamPack& pack);
		virtual ~BinaryOperationResultIndexStreamWritterBox() {}

//		virtual void initImpl() override;
		virtual void syncMachEtwas() override;

//		virtual OutputStream& getOutputStream() = 0;

	private:
		std::string format_;

		//void wait4Receive() {
		//	receive(IN_ARC, INPUT_GROUP);
		//}

		std::ostream& write(std::ostream& stream, BoxDataTable* t, size_t row, 
			const char* lineEnd = "\n");
	};	

} // namespace jm4bbx
	

#endif
